//
//  main.m
//  字符串文件读写2
//
//  Created by wenjim on 17/10/22.
//  Copyright © 2017年 WenJim. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    
    // 1. 文件读取
    
    /*
    // 1.创建URL
    // 协议头 + 主机地址 + 文件路径
//    NSString * path = @"file://192.168.1.103/Users/WJim/Desktop/Objective-CJiChuXueXi/Day7/cwjL.txt";
//    NSString * path = @"https://www.mi.com";
    
    // 注意：如果加载的资源是本机上的资源，那么URL中的主机地址可以省略
    // 虽然主机地址可以省略，但是需要注意，文件路径中最前面的/不能省略，文件路径最前面的/代表根路径
//    NSString * path = @"file:///Users/WJim/Desktop/Objective-CJiChuXueXi/Day7/cwjL.txt";
//    NSURL * url = [NSURL URLWithString:path];

//    NSString * path = @"/Users/WJim/Desktop/Objective-CJiChuXueXi/Day7/cwjL.txt";
//    NSString * path = @"/Users/WJim/Desktop/Objective-CJiChuXueXi/Day7/我爱/cwjL.txt";
    // 注意：如果是通过NSURL的fileURLWithPath方法创建URL，那么系统会自动给我们传入的字符串添加协议头(file://)，所以字符串中不需要再写file://
    // 注意：开发中一般情况下，如果是访问本机的资源，创建URL的时候，建议使用fileURLWithPath方法创建
    // 因为url不支持中文，如果url中包含中文，那么无法访问；但是如果是通过fileURLWithPath方法创建URL，哪怕URL中包含中文，也可以进行访问，系统内部会自动对URL中包含的中文进行处理
//    NSURL * url = [NSURL fileURLWithPath:path];
    NSString * path = @"/Users/WJim/Desktop/Objective-CJiChuXueXi/Day7/我爱/cwjL.txt";
    // 如果URL中包含中文，又不想通过fileURLWithPath创建，那就需要进行操作
    // 如果想要进行操作，必须在创建URL之前先对字符串的中文进行处理，进行百分号编码
    path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSURL * url = [NSURL URLWithString:path];
    
    NSLog(@"url = %@",url);
    NSError * error = nil;
    // 2.根据URL加载文件中的字符串
    NSString * str = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
    
    NSLog(@"str = %@",str);
    */
    
    // 2.文件写入
    NSString * str = @"cwj";
    NSError * error = nil;
    NSString * path = @"/Users/WJim/Desktop/Objective-CJiChuXueXi/Day7/我爱/write.txt";
    NSURL * url = [NSURL fileURLWithPath:path];
//    NSURL * url = [NSURL URLWithString:@"file:///Users/WJim/Desktop/Objective-CJiChuXueXi/Day7/我爱/write.txt"];
    
    [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:&error];
    
    // 注意点：如果多次往同一个文件中写入内容，那么后一次的内容会覆盖前一次的内容
    NSString * str2 = @"ZBC 爱してる";
    [str2 writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:&error];
    
    
    
    return 0;
}
